package cn.com.acca.ma.enumeration;

import lombok.Data;

/**
 * oracle对象类型
 */
public enum OracleObjectType {

    /**
     * 包主体
     */
    PACKAGE_BODY(".bdy", "PACKAGE BODY", "PACKAGE_BODY"),
    /**
     * 方法
     */
    FUNCTION(".fnc", "FUNCTION", "FUNCTION"),
    /**
     * 存储过程
     */
    PROCEDURE(".prc", "PROCEDURE", "PROCEDURE"),
    /**
     * 序列
     */
    SEQUENCE(".seq", "SEQUENCE", "SEQUENCE"),
    /**
     * 包定义
     */
    PACKAGE(".spc", "PACKAGE", "PACKAGE"),
    /**
     * 表定义
     */
    TABLE(".tab", "TABLE", "TABLE"),
    /**
     * 类型主体
     */
    TYPE_BODY(".tpb", "TYPE BODY", "TYPE_BODY"),
    /**
     * 类型定义
     */
    TYPE(".tps", "TYPE", "TYPE"),
    /**
     * 索引
     */
    INDEX(".idx", "INDEX", "INDEX"),
    /**
     * 表注释
     */
    TABLE_COMMENT(".utc", null, null),
    /**
     * 列注释
     */
    COLUMN_COMMENT(".ucc", null, null);

    /**
     * 文件后缀
     */
    private String suffix;

    /**
     * 对象类型
     */
    private String objectType;

    /**
     * 对象类型名称
     */
    private String objectTypeName;

    OracleObjectType() {
    }

    OracleObjectType(String suffix, String objectType, String objectTypeName) {
        this.suffix = suffix;
        this.objectType = objectType;
        this.objectTypeName = objectTypeName;
    }

    public String getSuffix() {
        return suffix;
    }

    public void setSuffix(String suffix) {
        this.suffix = suffix;
    }

    public String getObjectType() {
        return objectType;
    }

    public void setObjectType(String objectType) {
        this.objectType = objectType;
    }

    public String getObjectTypeName() {
        return objectTypeName;
    }

    public void setObjectTypeName(String objectTypeName) {
        this.objectTypeName = objectTypeName;
    }
}
